In some (future) scenarios, huge amounts of devices of any imaginable type are connected to numerous other devices, either directly or over various networks (e.g. cloud-based systems). In such scenarios, the devices may be utilized in combination, as a distributed deployment network, by an application to form services. Such services may in turn make up parts of a larger application, etc.
Different devices may have various different capabilities that may be offered to the application. Examples of capabilities include providing a location to execute, providing input data for processing, providing output actuating capabilities, or any combination thereof.
A distributed application is an application split into two or more different tasks which are assigned to different devices (also referred to as deployment nodes or simply nodes in this context) of a distributed deployment network. If an application distributed over many nodes is to work properly, the different tasks that make up the application need to be properly scheduled. Thus, a scheduling function that decide where and when each task should execute is needed in association with the distributed deployment network.
Several systems exist for scheduling tasks on different nodes of a distributed deployment network. For example, Malik, Huet and Caromel, “RACS: A Framework for Resource Aware Cloud Computing”, The IEEE 7th International Conference for Internet Technology and Secured Transactions (ICITST-2012) discloses a cloud scheduler module which helps the scheduler in making scheduling decisions on the basis of different characteristics of cloud resources.
Hence, when an application requires some particular capability a particular device is selected that provides that capability. If that selection is based only on the self-stated capabilities of the devices the result may be sub-optimal since the self-stated capability of a device may, for various reasons, differ more or less significantly from the actual capability of the device.
There exist peer-to-peer systems that calculate a parameter value (e.g. a trust value) for other peers. For example, Petri, Rana, Rezgui and Cosmin Silaghi, “Trust modelling and analysis in peer-to-peer clouds”, International Journal of Cloud Computing, Volume 1, Nos. 2/3, 2013 discloses a mechanism of forming trustworthy peer-to-peer clouds where feedback aggregation is used for identifying the trust distribution and Bertrand and Moonen, “Seeing the Bigger Picture: How Nodes Can Learn Their Place Within a Complex Ad Hoc Network Topology”, IEEE Signal Processing Magazine, May 2013, pp. 71-82 discloses how nodes in a network graph can infer information about the network topology or its topology-related properties based on in-network distributed learning.
There is a need for alternative methods and arrangements for scheduling of tasks in a distributed deployment network. Preferably, such alternatives are robust and easily scalable.